import {
	request
} from '@/src/api.js'

// 示例：获取登录凭证
export function getLoginCode() {
	return new Promise((resolve, reject) => {
		uni.login({
			provider: 'weixin',
			success: (res) => {
				if (res.code) {
					resolve(res.code)
				} else {
					reject(new Error('获取不到登录凭证'))
				}
			},
			fail: (err) => {
				reject(err)
			}
		})
	})
}

// 示例：登录到服务器
export function loginToServer(code) {
	return request('/wx/login', 'POST', {
		code
	})
}

// 获取用户信息
export function getUserProfile() {
	return new Promise((resolve, reject) => {
		wx.getUserProfile({
			desc: '用于完善信息资料',
			success: res => {
				resolve(res.userInfo) // 把 userInfo 传出去
			},
			fail: err => {
				reject(err) // 把错误抛出去
			}
		})
	})
}

// 保存用户信息
export function wxUserProfile(openid, userInfo) {
	return request('/wx/userProfile', 'POST', {
		openid,
		userInfo
	})
}

export function logout(openid) {
	return request('/wx/logout', 'POST', {
		openid
	})
}

// 其他API函数可以在这里定义，例如获取用户信息、更新数据等
// export function getUserInfo(userId) {
//     return request(`/users/${userId}`, 'GET')
// }